Automatically establishing a wireless connection between adapters

ABSTRACT

In one embodiment, a system for automatically establishing a wireless connection between adapters includes a master adapter coupleable to a peripheral device. The master adapter can automatically enter an inquiry mode in response to the occurrence of a first event. In the inquiry mode, the master adapter automatically establishes one or more wireless connections between the master adapter and one or more slave adapters that are coupled to one or more computer systems. The master adapter can also automatically enter an operational mode in response to the occurrence of a second event. In the operational mode, the master adapter enables communication between the peripheral device and the one or more computer systems via the one or more wireless connections using a wireless protocol.

RELATED APPLICATION

This application is a continuation-in-part of U.S. application Ser. No.10/329,101, filed Dec. 23, 2002, by David J. Bartek et al., entitled“Wireless Cable Replacement for Computer Peripherals Using a MasterAdapter.”

TECHNICAL FIELD OF THE INVENTION

This invention relates in general to computers and in particular toautomatically establishing a wireless connection between adapters.

BACKGROUND OF THE INVENTION

Universal Serial Bus (USB) connections provide a flexible and adaptablemethod for connecting peripheral devices to computers. The ability ofUSB devices to “plug and play” as well as the wide array of USB devicesavailable make USB devices a common staple of computing accessories. AsUSB devices become more and more common, technologies that provideincreased USB functionality become increasingly valuable.

SUMMARY OF THE INVENTION

Particular embodiments of the present invention may reduce or eliminatedisadvantages and problems associated with connections to peripheraldevices.

In one embodiment of the present invention, a system for automaticallyestablishing a wireless connection between adapters includes a masteradapter coupleable to a peripheral device. The master adapter canautomatically enter an inquiry mode in response to the occurrence of afirst event. In the inquiry mode, the master adapter automaticallyestablishes one or more wireless connections between the master adapterand one or more slave adapters that are coupled to one or more computersystems. The master adapter can also automatically enter an operationalmode in response to the occurrence of a second event. In the operationalmode, the master adapter enables communication between the peripheraldevice and the one or more computer systems via the one or more wirelessconnections using a wireless protocol.

Particular embodiments of the present invention may provide one or moretechnical advantages. Particular embodiments provide a wirelesssubstitute for physical connections to peripherals. This allows greatermobility for both the computers and the peripherals without deprivingthe computer of peripheral functions or requiring that the peripheralsbe moved around with the computer. In the case of peripherals that aredifficult to move, a wireless connection allows a computer to access theimmobile peripheral from a variety of locations. For example, a cablemodem may need to be placed next to an incoming cable wire, while aprinter might be placed near a paper supply. A wireless connectionallows a computer to be moved around within the range of the wirelessconnection without losing access to peripherals or requiring that theperipherals be moved along with the computer. This is particularlyuseful in the case of computers that are relatively easy to move, suchas laptops, used in conjunction with devices that require power, cableor telephone outlets in fixed locations.

Particular embodiments enable peripheral sharing. Rather thanmonopolizing a single physical port, several wireless connections mayshare access to a single peripheral through wireless connections. Thisallows peripheral to be used by multiple computers in a wirelessneighborhood. Similarly, a single physical port on a computer may beconnected to a wireless hub that supports multiple wireless peripheralconnections. This allows the computer to access multiple peripheralsusing a single port.

Particular embodiments may provide both wireline and wirelessconnections to a peripheral. These embodiments may allow one computer tobe coupled to a peripheral via a wireline connection and one or moreother computers to be coupled to the peripheral via wirelessconnections. This may, in particular embodiments, allow a user to addwireless connectivity to a system that uses wireline connections withoutthe cost of replacing those existing wireline connections. In particularembodiments, after the wireless connectivity has been added, thewireline connections may be used the same as before.

In particular embodiments, one or more wireless connections that enableone or more computers to communicate with one or more peripherals may beautomatically established. In particular embodiments, a wirelessconnection between a computer and a peripheral may be readily added toor removed from a wireless community that includes one or more wirelessconnections between one or more computers and one or more peripherals.

Certain embodiments may provide all, some, or none of these technicaladvantages. Certain embodiments may provide one or more other technicaladvantages, one or more of which may be readily apparent to thoseskilled in the art from the figures, descriptions, and claims herein.

BRIEF DESCRIPTION OF THE DRAWINGS

To provide a more complete understanding of the present invention andthe features and advantages thereof, reference is made to the followingdescription, taken in conjunction with the accompanying drawings, inwhich:

FIG. 1 illustrates a system allowing wireless communication between acomputer and a peripheral according to a particular embodiment of theinvention;

FIG. 2 illustrates an example table of information regarding one or moreslave adapters;

FIG. 3 illustrates a system that allows multiple computers tocommunicate with multiple peripherals using wireless connections;

FIG. 4 illustrates one embodiment of a slave adapter used in the systemof FIGS. 1 or 2;

FIG. 5 illustrates one embodiment of a master adapter used in the systemof FIGS. 1 or 2;

FIG. 6 illustrates an example of information packets communicated in thesystem of FIGS. 1 or 2;

FIG. 7 illustrates an example method for operation of a slave adapter;

FIG. 8 illustrates an example method for operation of a master adapter;

FIG. 9 illustrates an example system for providing both wireline andwireless connections to a wireline interface;

FIG. 10 illustrates an example splitter of a system for providing bothwireline and wireless connections to a wireline interface;

FIG. 11 illustrates an example system for providing both wireline andmultiple wireless connections to a wireline interface;

FIG. 12 illustrates an example priority table of a system for providingboth wireline and multiple wireless connections to a wireline interface;

FIG. 13 illustrates an example method for providing both wireline andwireless connections to a wireline interface;

FIG. 14 illustrates an example method for automatically establishing awireless connection between a master adapter and one or more slaveadapters; and

FIG. 15 illustrates an example method for automatically establishing awireless connection between one or more master adapters and a slaveadapter.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 illustrates a particular embodiment of a system 10 thatwirelessly couples a computer 12 to a peripheral 14. System 10 includesa slave adapter 16 coupled to computer 12 and master adapter 18 coupledto peripheral 14. In general, system 10 permits computer 12 to exchangeinformation with peripheral 14 as if peripheral 14 were coupled tocomputer 12 using a wireline connection. System 10 thus provides avirtual connection that stands in place of a physical connection, suchas a cable, allowing computers 12 to use existing physical ports toeffective couple to peripherals 14 using a virtual cable.

Although a particular embodiment of system 10 is depicted with awireless connection replacing a physical connection between computer 12and peripheral 14, the techniques of various embodiments of the presentinvention are adaptable to a wide variety of virtual connections inplace of physical connections. The respective physical connections tocomputer 12 and peripheral 14 can include any suitable form ofcommunication, including Internet protocol (IP), Ethernet, asynchronoustransfer mode (ATM), and synchronous optical network (SONET), and/orserial protocols, such as RS232, IEEE 1394, or Universal Serial Bus(USB) 1.1 or 2.0. Computer 12 and peripheral 14 may use differentcommunication protocols, so that virtual connection replaces both thephysical connection and any intervening protocol converters. The virtualconnection itself may include any number and type of interveningprotocols, whether wireline or wireless, examples of which include IP,ATM, SONET, serial protocols, Ethernet, radio frequency coaxial cable,RS 232, Firewire, General Packet Radio Service (GPRS), 802.11 WiFi,satellite links, or any other communication protocol in any suitablemedium. In general, virtual connection may include any number orcombination of wireless and/or wireline segments. Physical and virtualconnections may carry information in any suitable form, includingpackets, cells, frames, segments, fragments, or other portions of data(all of which are described with the general term “packets”). Becausethe described techniques are adaptable to a wide variety of physical andvirtual connections, the description of particular embodiments thatreplace a physical connection with a wireless connection areillustrative examples rather than exclusive ones.

Computer 12 represents any collection of hardware or software componentsfor processing and exchanging information, running applications,generating output, performing calculations, or any other suitablecomputing task. Examples of computers 12 include personal computers(PCs), laptops, and servers. Computer 12 includes any necessary orsuitable microprocessing components, such as microprocessors,micro-controllers, or digital signal processors (DSPs), and memorycomponents, such as optical storage, magnetic storage, or removablemedia, whether volatile or non-volatile. Computer 12 also includesinputs and outputs allowing computer 12 to exchange information withusers.

In order to communicate with peripheral 14, computer 12 exchangesinformation according to a communications protocol using physicalconnection 20. Physical connection 20 represents any suitable physicalmedium for communicating information including insulated wires, shieldedtwisted pairs, coaxial cable, optical fiber, or any other physicalconnection for propagating signals. The communication protocol used tocommunicate the information may be any suitable protocol for the medium,examples of which include Internet protocol (IP), Ethernet asynchronoustransfer mode (ATM), and synchronous optical network (SONET), and/orserial protocols, such as RS232, IEEE 1394, or Universal Serial Bus(USB) 1.1 or 2.0.

In a particular embodiment, connection 20 is a Universal Serial Bus(USB) connection 20 that allows computer 12 to exchange information withperipheral 14 using a USB protocol. Computer 12 manages these USBconnections using a host controller 22. Host controller 22 includeshardware and/or software that detects USB devices coupled to computer12, establishes communication connections with the device, identifiesthe type of device, and manages information exchange in thecommunication connections. For example, host controller 22 may regulatethe rate of information exchange, identify particular types ofinformation using headers, selectively route information to particularcomponents of computer 12, or perform other similar management tasks.

Peripherals 14 are specialized devices that perform delegated tasks atthe direction of computer 12. Examples of peripherals 14 includeprinters, scanners, digital cameras, modems (such as 56K, cable, DSL),joysticks, webcams, personal digital assistants (PDAs), mice, andkeyboards. Peripherals 14 may include any suitable processing capacity,memory, or interfaces for performing their assigned tasks. Peripherals14 may exchange information using physical connections 24, whichrepresent any suitable medium for propagating signals, including any ofthe examples listed above for connection 20. In a particular embodiment,peripherals 14 are USB devices that exchange control information usingUSB protocol. In such an embodiment, peripherals 14 maintainregistration information that may be communicated to a USB masterdevice, such as computer 12 in order to establish a USB connection withthe master device.

Slave adapter 16 represents a wireless communication device that appearsas a peripheral 14 to computer 12 when physically coupled to computer12. Slave adapter 16 establishes a wireless connection 26 with masteradapter 18 that allows slave adapter 16 to exchange informationaccording to any suitable wireless protocol. The term “establish” asused in this specification may refer to accepting a request for awireless communication or initiating the request; it need not be limitedto one or the other. As part of establishing connections, slave adapter16 may detect wireless devices, negotiate parameters for establishingcommunications, regulate information flow, negotiate a communicationfrequency, or perform any other suitable management task. In aparticular embodiment, slave adapter 16 exchanges information wirelesslyaccording to the BLUETOOTH wireless protocol, which provides standardsfor performing the detection and negotiation of wireless connections.

Master adapter 18 represents a wireless communication device thatappears as a host controller 22 to peripheral 14. Master adapter 18 hasthe additional ability to establish and manage communication connectionswith peripherals 14 using physical connections 114. Consequently, masteradapter 18 may receive information from peripherals 14 and communicatethat information to other devices using wireless connections 26.Conversely, master adapter 18 may receive information from wirelessconnection 26 and communicate the information to peripheral 14. In aparticular embodiment, master adapter 18 establishes a USB connectionwith peripheral 14, and communicates with slave adapter 16 using theBLUETOOTH wireless protocol.

In operation, slave adapter 16 becomes operational when it is coupled tocomputer 12. At this point, slave adapter 16 may optionally registeritself with host controller 22 of computer 12 by communicatingregistration information for itself to computer 12. In such anembodiment, slave adapter 16 may be controlled by driver softwareinstalled in computer 12 once it is registered, allowing computer 12 toconfigure slave adapter 16 for particular packet sizes, protocols, orother operating parameters. Alternatively, slave adapter 16 may remaininactive until a wireless connection 26 is established with masteradapter 18. In such an embodiment, slave adapter 16 does not communicateregistration information for itself to computer 12. Instead, slaveadapter 16 awaits confirmation that master adapter 18 is coupled to aperipheral 14 and passes registration information from peripheral 14 tocomputer 12.

Master adapter 18 detects when it is coupled to peripheral 14. Inresponse to detecting the connection to peripheral 14, master adapter 18collects registration information for the peripheral 14 and establishesa communication connection with the peripheral 14. Master adapter 18appears as a USB host to peripheral 14, and it may therefore control theoperation of peripheral 14.

Before, after, or during the establishment of connection to peripheral14, master adapter 18 seeks out slave adapter 16 within range of masteradapter 18 and establishes wireless connection 26 with slave adapter 16.Slave adapter 16 then communicates a request for registrationinformation from computer 12 to master adapter 18 using wirelessconnection 26. In response, master adapter 18 communicates registrationinformation for peripheral 14 to slave adapter 16. Slave adapter 16 inturn communicates the registration information to computer 12 usingphysical connection 20. Because computer 12 receives registrationinformation from physical connection 20, computer 12 treats the incomingregistration information as if it came from a new peripheral 14 that wasjust connected to computer 12. Computer 12 thus establishes a virtualcommunication connection with a peripheral 14, although in reality,slave adapter 16 is the device exchanging information with computer 12.In particular embodiments, master adapter 18 or slave adapter 16 maymodify the registration information for peripheral 14 in order tofacilitate information exchange over wireless connection 16. Forexample, master adapter 18 may limit or modify the size of packetscommunicated by computer 12 in order to utilize wireless connection 26more efficiently or to utilize USB hardware in slave adapter 16 moreeffectively.

Slave adapter 16 communicates information received from computer 12 tomaster adapter 18 by converting the information into a wireless signal.Master adapter 18 in turn receives the information, converts theinformation to an electrical signal (or other suitable form for physicalconnection 24), and passes the information to peripheral 14. Sinceperipheral 14 recognizes master adapter 18 as a USB host, peripheral 14treats the information received from master adapter 18 as it would treatinformation received from computer 12 using a wireline connection. Thus,computer 12 effectively controls peripheral 14 in the same manner itwould if computer 12 and peripheral 14 were connected using a wirelineconnection.

Peripheral 14 may also return information to computer 12 bycommunicating the information to master adapter 18. Because peripheral14 recognizes master adapter 18 as a master device, the responsesreturned by peripheral 14 are of the type of responses that would bepresented to computer 12 using a wireline connection. Master adapter 18converts the responses into a wireless signal, which is thencommunicated to slave adapter 16. Slave adapter 16 extracts the contentfrom the wireless signal and communicates it to computer 12. Computer 12treats the information as having been received from peripheral 14, andtherefore responds as if peripheral 14 were connected to computer 12using a wireline connection.

The particular types of information exchanged by computer 12 andperipheral 14 may include a number of types of information, such asserial data, voice/audio, video, packets or any other suitable form ofinformation. Information may also be converted in different forms inorder to facilitate communication in system 10. One example is a system10 in which a USB peripheral 14 exchanges information wirelessly withcomputer 12 over a BLUETOOTH wireless connection. In such a system,master adapter 18 receives digital data from peripheral 14, and storesthe information in BLUETOOTH packets that contain header informationspecifying the type of data stored, its source, and other usefulinformation. The BLUETOOTH packets are communicated as a wireless signalto slave adapter 16, which extracts the original information andcommunicates the information in USB frames to computer 12. Thus, bothcomputer 12 and peripheral 14 see the connection as a wireline USBconnection.

Certain embodiments of slave adapter 16 and master adapter 18 providesecure wireless connections using various techniques. One example of anencryption method is the use of a secure wireless protocol, in whichadapters 16 and 18 maintain private and/or public keys used to decodeinformation. 802.11 is one example of a communication protocol thatincorporates encryption. Another method of security is to provideexclusive recognition between slave adapter 16 and master adapter 18 sothat each device will only establish wireless connections 26 with itscounterpart device. For example, slave adapter 16 and master adapter 18may be programmed with a unique encryption key, and establishconnections only with devices that indicate possession of the unique keyduring an authentication process.

In particular embodiments, slave adapter 16 and master adapter 18 mayautomatically pair with each other to enable communication betweencomputer 12 and peripheral 14 via wireless connection 26. In particularembodiments, slave adapter 16 and master adapter 18 need not be hardcoded to communicate with each other. As a result, in some of theseembodiments, slave adapter 16 and master adapter 18 may automaticallypair with each other when slave adapter 16, master adapter 18, or bothare installed by a user.

In particular embodiments, master adapter 18 may have an inquiry modefor pairing with one or more slave adapters 16 and an operational modefor providing communication between one or more computers 12 andperipheral 14 via one or more wireless connections 26. Master adapter 18may automatically enter inquiry mode when master adapter 18 powers up.In addition or as an alternative, master adapter 18 may automaticallyenter inquiry mode in response to the occurrence of an event. As anexample and not by way of limitation, master adapter 18 mayautomatically enter inquiry mode in response to master adapter 18 beinguncoupled from peripheral 14. In particular embodiments, when masteradapter 18 is in operational mode, master adapter 18 may automaticallycheck whether master adapter 18 is coupled to peripheral 14 at certainintervals. If master adapter 18 determines that master adapter 18 is notcoupled to peripheral 14, master adapter 18 may automatically enterinquiry mode. As another example, master adapter 18 may automaticallyenter inquiry mode in response to a user resetting master adapter 18 orotherwise causing master adapter 18 to enter inquiry mode.

When master adapter 18 enters inquiry mode, master adapter 18 attemptsto detect one or more slave adapters 16 and establish one or morewireless connections 26 between slave adapters 16 and master adapter 18.To detect slave adapters 16, master adapter 18 may scan one or morecommunication channels associated with slave adapters 16. Acommunication channel may include one or more signal frequencies. Inparticular embodiments, to scan a particular communication channel,master adapter 18 may broadcast a scan message in the particularcommunication channel and receive responses from one or more slaveadapters 16 receptive to scan messages broadcast in the particularcommunication channel. A response from a slave adapter 16 may include aBLUETOOTH address or other suitable identifier of slave adapter 16, and,when master adapter 18 receives the response, master adapter 18 maystore the identifier. In particular embodiments, master adapter 18 mayuse identifiers received from slave adapters 16 to communicate connectrequests to slave adapters 16, as described below.

If master adapter 18 detects one or more slave adapters 16, masteradapter 18 communicates a connect request to each detected slave adapter16. Master adapter 18 may wait to communicate a connect request to aslave adapter 16 until after master adapter 18 has scanned a particularnumber of communication channels. As an example, master adapter 18 maywait until master adapter 18 has scanned all available communicationchannels. A connect request communicated to a slave adapter 16 mayinclude the identifier of slave adapter 16 that master adapter receivedin response to a scan message. Slave adapter 16 may use the identifierin the connect request to determine whether the connect request isdirected to slave adapter 16. As an example and not by way oflimitation, if slave adapter 16 receives a connect request, slaveadapter 16 may compare the identifier in the connect request with anidentifier of slave adapter 16. If the identifier in the connect requestdoes not correspond to an identifier of slave adapter 16, slave adapter16 may disregard the connect request. If the identifier in the connectrequest corresponds to an identifier of slave adapter 16, slave adapter16 may determine whether to acknowledge the connect request, asdescribed below.

The connect request may also include a protocol service multiplexer(PSM) of master adapter 18. Slave adapter 16 may use the PSM in theconnect request to determine whether to acknowledge the connect request.As an example and not by way of limitation, slave adapter 16 may comparethe PSM in the connect request with a PSM of slave adapter 16. Inparticular embodiments, if the PSM in the connect request does notcorrespond to a PSM of slave adapter 16, slave adapter 16 may disregardthe connect request. If the PSM in the connect request corresponds to aPSM of slave adapter 16, slave adapter 16 may communicate anacknowledgement to master adapter 18.

A PSM includes any suitable information that slave adapter 16 may use todetermine whether to acknowledge the connect request. PSMs may bedynamically configurable. In particular embodiments, PSMs are numbersand particular ranges of PSMs are reserved for particular purposes.Particular ranges of PSMs may be freely available. In particularembodiments, a PSM may be unique to one or more particular equipmentmanufacturers and, in some of these embodiments, slave adapter 16 maycommunicate with master adapter 18 only if an equipment manufacturer ofslave adapter 16 corresponds to an equipment manufacturer of masteradapter 18. To determine whether an equipment manufacturer of slaveadapter 16 corresponds to an equipment manufacturer of master adapter18, slave adapter 16 may compare the PSM in the connect request to a PSMof slave adapter 16. In particular embodiments, a PSM may be unique toone or more particular types of equipment. As an example, slave adapters16 and master adapters 18 that are capable of providing wirelessconnections 26 between a computer 12 and a peripheral 14 may have PSMsthat correspond to each other. If the PSM in the connect requestcorresponds to a PSM of slave adapter 16, slave adapter 16 may becapable of providing wireless connection 26 between computer 12 andperipheral 14 and may accordingly communicate an acknowledgement tomaster adapter 18, as described above. Although particular PSMs aredescribed, the present invention contemplates any suitable PSMs.

Receipt of an acknowledgement from slave adapter 16 may establishwireless connection 26 between slave adapter 16 and master adapter 18.In particular embodiments, the receipt of the acknowledgementestablishes wireless connection 26 only if master adapter 18 receivesthe acknowledgement within a certain time after master adapter 18communicates a connect request to slave adapter 16. In particularembodiments, after wireless connection 26 between slave adapter 16 andmaster adapter 18 has been established, slave adapter 16 and masteradapter 18 may start to communicate with each other to enablecommunication between computer 12 and peripheral 14 via wirelessconnection 26.

In particular embodiments, for security or other purposes, masteradapter 18 may require a valid password from slave adapter 16. In someof these embodiments, after wireless connection 26 between slave adapter16 and master adapter 18 has been established, master adapter 18 maycommunicate a password request to slave adapter 16 and, in response tothe password request, slave adapter 16 may communicate a password tomaster adapter 18. When master adapter 18 receives the password fromslave adapter 16, master adapter 18 may determine whether the passwordis valid. In particular embodiments, to make this determination, masteradapter 18 may compare the received password with one or more passwordsstored in a memory unit of master adapter 18. If the received passworddoes not correspond to a stored password, master adapter 18 maycommunicate a failure message to slave adapter 16. If the receivedpassword corresponds to a stored password, master adapter 18 maycommunicate a success message to slave adapter 16. After master adapter18 communicates the success message to slave adapter 16, master adapter18 and slave adapter 16 may start to communicate with each other toenable communication between computer 12 and peripheral 14 via wirelessconnection 26.

Master adapter 18 may automatically enter operational mode in responseto one or more wireless connections 26 between master adapter 18 and oneor more slave adapters 16 being established. In addition or as analternative, master adapter 18 may automatically enter or remain inoperational mode in response to master adapter 18 determining thatmaster adapter 18 is coupled to peripheral 14. In particularembodiments, master adapter 18 does not switch from inquiry mode tooperational mode until at least one wireless connection 26 betweenmaster adapter and at least one slave adapter 16 has been established.In particular embodiments, master adapter 18 does not switch frominquiry mode to operational mode until master adapter 18 has at leastattempted to establish a wireless connection 26 between master adapter18 and each slave adapter 16 that master adapter 18 detected. Masteradapter 18 may attempt to establish wireless connection between slaveadapter 16 and master adapter 18 one or more times, according toparticular needs.

When master adapter 18 switches from inquiry mode to operational mode,master adapter 18 may indicate to a user that master adapter 18 hasswitched from inquiry mode to operational mode. As an example and not byway of limitation, master adapter 18 may include a light-emitting diode(LED) that master adapter 18 may use to indicate that master adapter 18has switched from inquiry mode to operational mode. In particularembodiments, if master adapter 18 is coupled to peripheral 14, a usermay uncouple master adapter 18 from peripheral 14 to cause masteradapter 18 to automatically pair with one or more slave adapters 16. Inresponse to master adapter being uncoupled from peripheral 14, masteradapter 18 may enter inquiry mode, detect slave adapters 16, andestablish one or more wireless connections 26 between master adapter 18and slave adapters 16, as described above. Master adapter 18 may thenswitch from inquiry mode to operational mode and use the LED to indicateto the user that master adapter 18 has switched from inquiry mode tooperational mode. The user may then couple master adapter 18 toperipheral 14 to enable computer 12 to communicate with peripheral 14via wireless connection 26.

Master adapter 18 may collect information regarding one or more slaveadapters 16. In particular embodiments, master adapter 18 may collectinformation regarding a slave adapter 16 when master adapter 18 pairswith slave adapter 16. As an example and not by way of limitation, slaveadapter 16 may communicate a BLUETOOTH address or other identifier ofslave adapter 16 to master adapter 18 in response to a scan message frommaster adapter 18, as described above, and master adapter 18 may storethe identifier of slave adapter 16. In addition or as an alternative, inparticular embodiments, an acknowledgement from slave adapter 16 mayinclude information regarding slave adapter 16 that master adapter 18may store. Examples of information regarding a slave adapter 16 thatmaster adapter 18 may collect include a BLUETOOTH address or otheridentifier of slave adapter 16, a link key associated with slave adapter16, a personal identification number (PIN) code associated with slaveadapter 16, a power level associated with slave adapter 16, an accesscode associated with slave adapter 16, and any other suitableinformation regarding slave adapter 16. Master adapter 18 may usecollected information regarding a slave adapter 16 for any suitablepurpose. As an example and not by way of limitation, master adapter 18may use an identifier of slave adapter 16 to direct communication toslave adapter 16, to identify communication from slave adapter 16, orboth.

FIG. 2 illustrates an example table 30 of information regarding one ormore slave adapters 16. Table 30 may be stored in a memory unit ofmaster adapter 18. Table 30 includes one or more columns 32 that eachcorrespond to particular information regarding slave adapters 16. As anexample and not by way of limitation, column 32 a corresponds toBLUETOOTH addresses or other identifiers of slave adapters 16, column 32b corresponds to link keys associated with slave adapters 16, column 32c corresponds to PIN codes associated with slave adapters 16, column 32d corresponds to power levels associated with slave adapters 16, andcolumn 32 e corresponds to access codes associated with slave adapters16. Although table 30 is described and illustrated as includingparticular columns 32 corresponding to particular types of particularinformation regarding particular slave adapters 16, table 30 may includeany suitable columns 32 corresponding to any suitable types of anysuitable information regarding any suitable slave adapters 16. Table 30also includes one or more rows 34 that each correspond to a particularslave adapter 16. As an example and not by way of limitation, row 34 acorresponds to a first slave adapter 16, row 34 b corresponds to asecond slave adapter 16, and row 34 c corresponds to a third slaveadapter 16. Cells 36 lie at the intersections of columns 32 and rows 34.A cell 36 contains particular information regarding a particular slaveadapter 16. As an example, cell 36 a contains information reflecting aBLUETOOTH address or other identifier of first slave adapter 16. Cell 36b similarly contains information reflecting a link key associated withsecond slave adapter 16. Although particular cells 36 containingparticular information regarding particular slave adapters 16 aredescribed and illustrated, the present invention contemplates anysuitable cells 36 containing any suitable information regarding anysuitable slave adapters 16. Master adapter 18 may use information intable 30 to communicate with slave adapter 16 when master adapter 18enters operational mode.

FIG. 3 shows another embodiment of a system 100 that allows computers102 to communicate with peripherals 104 a, 104 b, 104 c, . . . , 104 n(collectively referred to as “peripherals 104”) using slave adapters 106and master adapters 108 a, 108 b, 108 c, . . . , 108 n (collectivelyreferred to as “master adapters 108”). The components depicted in FIG. 3correspond to the like components of FIG. 1. Physical connections 110couple computers 102 to slave adapters 106, while physical connections114 couple master adapters 108 to peripherals 104. FIG. 3, however, alsoillustrates that system 100 may include wireless connections betweenslave adapters 106 and master adapters 108 in a variety of combinations,not limited to a single slave adapter 106 wirelessly connected to asingle master adapter 108.

In particular embodiments, slave adapter 106 may maintain multiplewireless connections 116 with multiple master adapters 108. This allowscomputer 102 to remotely interact with several peripherals 104 using asingle physical connection 110. In this manner, slave adapter 106 actsas a wireless hub that allows multiple peripherals 104 to share a singleport, where normally, each peripheral 104 might require a separate port.One example of such an embodiment uses the BLUETOOTH “PicoNet” thatallows a BLUETOOTH device to act as a master for multiple slave devicessimultaneously. In embodiments using secure authentication, slaveadapter 106 accepts connections only from master adapters 108 that sharethe correct encryption key.

In other embodiments, multiple slave adapters 106 may communicate with asingle master adapter 108 coupled to a peripheral 104. This allowsmultiple computers 102 in a wireless neighborhood to access the sameperipheral 104. Such an embodiment may use the BLUETOOTH “ScatterNet.”ScatterNet allows multiple master devices, such as computers 102, tointeract with multiple slave devices, such as peripherals 104. Bycombining the multiple slave and multiple master capability ofScatterNet with the wireless-to-physical communication capability ofadapters 106 and 108, computers 102 may interact with multipleperipherals 104 and even other computers 102 using slave adapter 106.

As noted, in addition to sharing peripherals 104, slave adapters 106 mayalso communicate with one another, allowing computers 102 to sharefiles, applications and other forms of information. This effectivelycreates a wireless network of shared computing and peripheral resources.In particular, the use of self-registering slave adapters 106 controlledby driver software in computer 102 may greatly increase the versatilityof the wireless network, allowing slave adapters 106 to exchangecustomized information with one another. More generally, varioussoftware applications may extend the capabilities to slave adapters 106to allow use with hands-free headsets or other wireless devices as wellas conventional USB peripherals 104.

In the depicted embodiment, peripherals 104 may also communicatedirectly with one another. For example, a peripheral 104 such as adigital camera 104 c may communicate with printer 104 b using theircorresponding master adapters 108 b and 108 c. This allows camera 104 cto transfer digital pictures directly to printer 104 b using a wirelessconnection without the need for an intervening computer 102. Suchpeer-to-peer communications may greatly increase the portability andversatility of specialized peripherals, such as allowing the use ofportable photo printers virtually anywhere.

Because of the complex array of component interaction within system 100,system 100 may also include management capabilities in adapters 106 and108 or additional components of system 100, such as network hubs orservers, in order to maintain registration information, locateperipherals 104 within system 100, and monitor active connections. Suchfunctionality can be localized in a single component accessible byadapters 106 or 108, distributed among illustrated components of system100, or otherwise suitably incorporated into system 100.

In particular embodiments, master adapters 108 and slave adapters 106may automatically pair with each other to enable communication betweencomputers 102 and peripherals 104 via wireless connections 116, asdescribed above. In particular embodiments, a slave adapter 106 mayautomatically pair with one master adapter 108. In particularembodiments, a slave adapter 106 may automatically pair with multiplemaster adapters 108. In particular embodiments, a master adapter 108 mayautomatically pair with one slave adapter 106. In particularembodiments, a master adapter 108 may automatically pair with multipleslave adapters 106.

FIG. 4 illustrates the components of a particular embodiment of slaveadapter 106. Slave adapter 106 includes a processor 202, a USB core 206,such as, for example, a USB 1.1 logic module, and a memory 208. Slaveadapter 106 communicates with other devices using a radio frequency (RF)interface 210 and a USB interface 212. In general, slave adapter 106provides wireless connectivity to a remote peripheral 104, whileallowing computer 102 to interact with the remote peripheral 104 as ifthe peripheral 104 were connected to computer 102 using a wirelineconnection.

Processor 202 represents any combination of hardware and/or software forprocessing information. In particular applications, processor 202 issometimes referred to as a “baseband processor” because it handlesinformation exchange with RF interface 210. Processor 202 may includemicroprocessors, micro-controllers, DSPs, or other suitable components.USB 1.I logic module 206 is another processor that handles USB protocolexchanges between slave adapter 106 and computer 102. In particular, USBcore 206 allows slave adapter 106 to establish USB communicationconnections with computer 102 when coupled to computer 102, thusallowing slave adapter 106 to appear as a peripheral to computer 102.

RF interface 210 represents hardware and/or software for generatingwireless RF signals from information and for receiving wireless signalsand extracting information from them, including components such asantennas, power supplies and oscillators. USB interface 212 representsany port or connection, whether real or virtual, that allows slaveadapter 106 to exchange information with computer 102 in a formatspecified by USB protocol. USB interface 212 may include active andpassive components for receiving and transmitting electrical signals,such as amplifiers, filters, and other suitable components. USB core 206regulates the information exchange by USB interface 212. In a particularembodiment, USB interface 212 includes a “B” type USB connector that issoldered to a printed circuit board of slave adapter 106, so that theUSB connector is integral to adapter 106.

Memory 208 represents any form of information storage, whether volatileor non-volatile, including magnetic media, optical media, removablemedia, random access memory (RAM), read-only memory (ROM), or flashmemory. Memory 208 stores software layers 214 executed by variouscomponents of slave adapter 106 to perform particular operations.Wireless layer 216 is executed by processor 202 to manage RF connectionswith other devices and generally controls the operation of RF interface210. Wireline layer 220 is executed by processor 202 to performoperations associated with the wireline protocol, such as controllingvarious operations of USB core 206. Application layer 218 is executed byprocessor 202 to perform conversions between wireless and wirelineformats, including amalgamating packets, affixing additional headerinformation, or other suitable conversions. Finally, code 222 representsother instructions that may be executed by processor 202, such asapplications that allow slave adapter 106 to interact with driversoftware of computer 102.

In operation, USB core processes data received from computer 102 by USBinterface 212 and communicates data to computer 102 in USB format usingUSB interface 212. In a particular embodiment, USB core 206 communicatesregistration information for slave adapter 106 to computer 102, and inresponse, computer 102 establishes a USB connection with slave adapter106. In an alternative embodiment, slave adapter 106 remains inactiveuntil wireless connection 116 is established with master adapter 108connected to peripheral 104. Using RF interface 210, slave adapter 106monitors for an incoming communication request from master adapter 108,and if a request is received, slave adapter 106 accepts the request,thus establishing wireless connection 116.

To communicate information from computer 102 to master adapter 108,slave adapter 108 first receives information from computer 102 using USBinterface 212. USB core 206 communicates the information to processor202 for any suitable conversion or other processing. For example,processor 202 may convert the information from a wireline format to awireless packet with a data type specified by profile 222. Processor 202then presents the information to RF interface 212. RF interface 212converts the information into a radio signal that is communicated tomaster adapter 108.

Slave adapter 106 also receives information from master adapter 108 overwireless connection 116. RF interface 210 extracts information from thewireless signal. Processor 202 converts the packets from a wirelessformat to a wireline format and presents the information to computer 102in a suitable manner. For example, if there are multiple packetsreceived from several peripherals 104, processor 202 may break thepackets up and communicate them separately to computer 102 in apredetermined order.

Particular embodiments of slave adapter 106 use secure wirelesscommunication. In such embodiments, encryption key 224 may be stored inmemory 208. Encryption key 224 represents any public and/or private keyused by slave adapter 106, which may be inherent to a wirelesscommunication protocol, such as 802. 11, or may be a unique encryptionkey 224 matching a similar key held by master adapter 108. In caseswhere encryption key 224 is unique, slave adapter 106 may be programmedusing an encryption module 226 that couples to USB interface 212 ofslave adapter 106. In a particular embodiment, encryption module 226generates a unique encryption key 224 when slave adapter 106 and masteradapter 108 are coupled to encryption module 226, thus providing aunique encryption key 226 held commonly by slave adapter 106 and masteradapter 108. Alternatively, encryption module 226 may program any devicecoupled to it with the same encryption key 224, rather than generating anew key for each pair of devices. In particular embodiments, memory 208of slave adapter 106 may include automatic-pairing data 228 that slaveadapter 106 may use to automatically pair with one or more masteradapters 108, as described above. Automatic-pairing data 228 may includeone or more PSMs of slave adapter 106, one or more passwords of slaveadapter 106, and any other suitable automatic-pairing data 228.

FIG. 5 illustrates a particular embodiment of master adapter 108. In thedepicted embodiment, master adapter 108 includes a processor 302, a hostcontroller 304, a memory 306, a USB interface 308 and an RF interface310. Processor 302, memory 306, USB interface 308, and RF interface 310are analogous in structure and function to the like components of slaveadapter 106, and any of the like components described in conjunctionwith the slave adapter 106 of FIG. 3 may be used in master adapter 108as well. Host controller 304 represents hardware and/or software thatmanages information transfers between master adapter 108 and peripherals104. In particular, host controller 304 detects peripherals 104 coupledto USB interface 308, obtains registration information for thoseperipherals 104, and establishes communication connections with theperipherals 104. Host controller 104 also regulates information flowbetween master adapter 108 and peripheral 104. Host controller 104 mayinclude any suitable components for processing information and executinglogical instructions, including management of hardware and protocollayers of USB communication.

In an alternative embodiment of master adapter 108, host controller 304includes logic for On the Go (OTG) operation in USB, which is includedin USB 2.0 logic modules. OTG allows a device to function as both amaster USB device and a slave USB device. Such capabilities areparticularly useful in systems such as system 100 depicted in FIG. 3,because they allow slave adapters 106 to function as master USB deviceswhen communicating with peripherals 104 and as slaves or masters whencommunicating with other computers 102. Thus, computers 102 have greaterversatility when interacting with other devices in system 100.

Memory 306 stores code 312 executed by processor 302 to perform varioustasks of master adapter 108. Memory 306 may also maintain registrationinformation 314, which may include USB endpoint information, forperipherals 104 coupled to USB interface 308. Registration information314 is used by master adapter 108 to identify peripherals 104 and tomanage communication connections with peripherals 104. For example, in aUSB embodiment, registration information 314 may include a deviceidentifier the indicates a type of device to a “plug and play” system.Master adapter 108 also maintains profiles 316 for organizing dataaccording to data type, appending suitable headers, converting data fromwireless packets, and other tasks specific to the type of data receivedfrom peripheral 104. In particular embodiments, memory 306 of masteradapter 108 may include automatic-pairing data 332 that master adapter108 may use to automatically pair with one or more slave adapters 106,as described above. Automatic-pairing data 332 may include one or morePSMs of master adapter 108, one or more passwords of master adapter 108,or any other suitable automatic-pairing data 332. In particularembodiments, memory 306 of master adapter 108 may include one or moretables 30, as described above.

In operation, master adapter 108 detects a peripheral 104 coupled to USBinterface 308 and establishes a communication connection with peripheral104. Master adapter 108 thus becomes a master device over peripheral104. Master adapter 108 also detects slave adapter 106 within range ofRF interface 310, and establishes wireless connection 116 with slaveadapter 106. Once wireless connection 116 is established, master adapter108 communicates registration information 314 to slave adapter 106,allowing slave adapter 106 to establish a virtual connection betweencomputer 102 and peripheral 104. Effectively, master adapter 108 acts asa transparent connection between computer 102 and peripheral 104.Because of the functionality provided by host controller 304, peripheral104 recognizes information from master adapter 108 as coming from a USBhost.

During information exchanges between computer 102 and peripheral 104,master adapter 108 performs various intermediate tasks to provide atransparent USB connection. For example, if master adapter 108 is one ofseveral master adapters 108, master adapter 108 may store informationreceived from peripheral 104 in packets with a ScatterNet header orother suitable identifier to distinguish the particular peripheral 104as well as the information type. Master adapter 108 also regulates theexchange of packets with peripheral 104 in terms of classifyinginformation types, regulating the timing of packet delivery, performingany suitable protocol conversion, and generally providing support forthe USB connection between computer 102 and peripheral 104.

Particular embodiments of master adapter 108 use secure wirelesscommunication. In such embodiments, encryption key 318 may be stored inmemory 306. Encryption key 318 represents any public and/or private keyused by master adapter 108, which may be inherent to a wirelesscommunication protocol, such as 802.11, or may be a unique encryptionkey 318 matching a similar key held by slave adapter 106. In cases whereencryption key 318 is unique, master adapter 108 may be programmed usingan encryption module 320 that couples to USB interface 308 of masteradapter 108. In a particular embodiment, encryption module 320 generatesa unique encryption key 318 when slave adapter 106 and master adapter108 are coupled to encryption module 320, thus providing a uniqueencryption key 318 held commonly by slave adapter 106 and master adapter108. Alternatively, encryption module 320 may program any device coupledto it with the same encryption key 318, rather than generating a new keyfor each pair of devices.

FIG. 6 illustrates an example of a packet flow diagram 400 for system100. Adapter 106 or 108 receives USB packets 402 from a device. Packets402 represents information received from a device by one of the adapters106 or 108 and formatted according to a particular protocol. Packet 402includes a header 404 and a payload 406. Header 404 stores informationused to assist downstream components in identifying, classifying, androuting packet 402. Examples of information stored in header 404 includepacket identifiers, vendor identifiers, product identifiers or any othersuitable identifying information. Payload 406 is the information that adevice is communicating to a destination, as distinguished from headerinformation, which specifies how the information is handled. Forexample, payload 406 may include commands, files, voice information,video, streaming media, or any other suitable form of information. Thedepicted USB packets 402 are only one example of the format for packets,and other embodiments may include suitable modifications, such asomission of headers 404 or addition of information to the end of packets402.

Packets 402 may be accumulated in a buffer until a predetermined numberof packets are collected. Packets 402 are then amalgamated into awireless packet 408. Wireless packet 408 includes an additional USBheader 410 that may be used by a receiving adapter 106 or 108 toseparate the information into its component parts. Wireless packet 408also contains a BLUETOOTH header 412 that includes information used bythe BLUETOOTH protocol to communicate wireless packet as an RF signal410.

Adapter 106 or 108 that receives RF signal 410 uses the information inBLUETOOTH header 412 to extract the information 414 from wireless packet408. Receiving adapter 106 or 108 then examines USB header 410 toidentify USB packets 402 within information 414. Once adapter 106 or 108has identified USB packets 402, adapter 106 or 108 separates packets 402and communicates them in an appropriate manner to an attached device.

In particular embodiments, slave adapter 106 specifies a size forpackets 402 using hardware limitation messages in the USB protocol.Thus, for example, slave adapter 106 may limit the packet sizes receivedfrom computer 102 to 32-byte packets, even when computer 102 wouldordinarily use 64-byte packets, such as those typically used by USBprinters. One advantage of such embodiments is that they allow slaveadapter 106 to fix the size of wireless packet 408, which may increasethe efficiency of wireless connection 116. The appended USB header 410is used by master adapter 108 to determine the appropriate packet sizelimitation according to a shared protocol, and therefore, master adapter108 may communicate the information to peripheral 104 in the form thatperipheral 104 expects.

Adapters 106 or 108 may also communicate different types of informationin other ways than the format described. For example, when USB protocolis used to manage physical connections, adapters 106 or 108 maycommunicate USB control tokens directly without accumulating them intowireless packets 408. This allows adapters 106 and 108 to preserve thetiming of token exchange between computer 102 and peripheral 104,reducing the likelihood of errors when computer 102 and peripheral 104are establishing connections and exchanging information.

FIG. 7 shows a flow chart 500 that illustrates one example of a methodof operation for slave adapter 106 in which slave adapter 106 remainsinactive until a wireless connection is established with master adapter108. Slave adapter 106 becomes operation in response to detecting aconnection to computer 102 at step 502. Slave adapter 106 receives arequest for a wireless connection from master adapter 108 at step 504.Slave adapter 106 accepts the request for the wireless connection atstep 506, thus establishing wireless connection 116. Once the wirelessconnection is established, slave adapter 106 activates its connection tocomputer 102 at step 508, which enables information exchange betweencomputer 102 and slave adapter 106. Slave adapter 106 receivesregistration information for a peripheral 104 connected to masteradapter 108 at step 510 and communicates the registration information toa host controller of computer 102 at step 512, allowing computer 102 torecognize peripheral 104. Once peripheral 104 is registered withcomputer 102, slave adapter 106 may send and receive information fromperipheral 104 using wireless connection 116, which in turn allowscomputer 102 to interact with peripheral 104 as if peripheral 104 wereconnected to computer 102 with a wireline connection.

To send information, slave adapter 106 first receives information fromcomputer 102 at step 516. Slave adapter 106 then converts theinformation to a wireless signal at 518. This conversion may involvechanging the information from one format, such as serial data, toanother format suitable for wireless communication, such as BLUETOOTHpackets. Slave adapter 106 then communicates the wireless signal tomaster adapter 108 using the wireless connection at step 520. At step530, slave adapter 106 continues to send and receive information fromstep 636 until the communication connection with master adapter 108 orcomputer 102 ends.

To receive information, slave adapter 106 receives a wireless signalfrom master adapter 108 at step 522. Slave adapter 106 extractsinformation from the wireless signal at step 524 and identifies headerinformation at step 526. Based on the header information, slave adapter106 routes the information appropriately. Routing the information atthis step may include performing suitable conversions to present theinformation in a suitable format to computer 102. At step 530, slaveadapter 106 continues to send and receive information from step 636until the communication connection with master adapter 108 or computer102 ends.

FIG. 8 illustrates an example method for operation of a master adapter.Although the described steps are presented in a particular order, itshould be understood that the steps may be performed in a differentorder, and various steps may be omitted or replaced without changing theoverall operation of the method. Master adapter 108 receivesregistration information from a peripheral 104 at step 602 andestablishes a communication connection with peripheral 104 at step 604.Master adapter 108 detects a slave adapter 106 and establishes awireless connection with slave adapter 106 at step 606. In response to arequest for registration information from computer 102, master adapter108 communicates the registration information for peripheral 104 toslave adapter 106 at step 608. The registration information is used byslave adapter 106 to allow computer 102 to recognize peripheral 104.Once all of the communication connections are established, masteradapter 108 may then send information to computer 102 to receiveinformation from computer 102, as indicated by decision step 610.

To send information, master adapter 108 first receives information fromperipheral 104 at step 612. Master adapter 108 converts the informationinto a wireless signal at step 614. This conversion may includeformatting the information from peripheral 104 into a suitable form,such as BLUETOOTH packets. Master adapter 108 then communicates theinformation to slave adapter 106 at step 616. At step 624, masteradapter 108 continues to send and receive information from step 514until the connection with either slave adapter 106 or computer 102 ends.

To receive information, master adapter 108 receives a wireless signalfrom slave adapter 106 at step 618. Master adapter 108 extractsinformation from the wireless signal at step 620. Master adapter 108 mayalso perform any suitable conversions of the information to a formusable by peripheral 104, such as converting BLUETOOTH packets to USBframes. Master adapter 108 then communicates the information toperipheral 104 at step 622. At step 624, master adapter 108 continues tosend and receive information from step 514 until the connection witheither slave adapter 106 or computer 102 ends.

FIG. 9 illustrates an example system 626 for providing both wireline andwireless connections to a wireline interface. System 626 includes aperipheral 628 that may communicate with a first computer 630 via afirst physical connection 632, a splitter 634, and a second physicalconnection 636. Peripheral 628 may also communicate with a secondcomputer 638 via first physical connection 632, splitter 634, a wirelessconnection 640, a slave adapter 642, and a third physical connection644. Splitter 634 allows both wireline communication between peripheral628 and first computer 630 and wireless communication between peripheral628 and second computer 638. Peripheral 628 is similar in function toperipherals 14 and 104; physical connections 632, 636, and 644 aresimilar in function to physical connections 20, 24, 110, and 114;computers 630 and 638 are similar in function to computers 12 and 102;slave adapter 642 is similar in function to slave adapters 16 and 106;and wireless connection 640 is similar in function to wirelessconnections 26 and 116.

Splitter 634 allows communication between peripheral 628 and firstcomputer 630 and between peripheral 628 and second computer 638. Inparticular embodiments, splitter 634 has a first state and a secondstate. In the first state, splitter 634 allows wireline communicationbetween peripheral 628 and first computer 630. Communication betweenperipheral 628 and first computer 630 is wireline in that peripheral 628does not use a wireless connection to communicate with first computer630. In the second state, splitter 634 allows wireless communicationbetween peripheral 628 and second computer 638. Communication betweenperipheral 628 and second computer 638 is wireless in that peripheral628 uses wireless connection 640 to communicate with second computer630. In particular embodiments, communication between peripheral 628 andsecond computer 638 may involve more than one wireless connection.

Splitter 634 selectively alternates between these two states. Inparticular embodiments, the first state is a default state of splitter634. When communication is requested between peripheral 628 and secondcomputer 638, splitter 634 switches to the second state to allow therequested communication. When the communication finishes, splitter 634returns to the first state. In addition or as an alternative, splitter634 can return to the first state when a timeout occurs, a maximumcommunication time elapses, or a maximum data amount is communicated. Inparticular embodiments, if peripheral 628 is communicating with firstcomputer 630 when the request is received, splitter 634 interrupts thecommunication between peripheral 628 and first computer 630 to allow therequested communication. As an alternative, in other embodiments,splitter 634 delays the requested communication until the communicationbetween peripheral 628 and first computer 630 finishes.

FIG. 10 illustrates an example splitter 634 of system 626. Splitter 634includes first and second USB sockets 646 and 648, a switch 650, and amaster adapter 652. First and second USB sockets 646 and 648 are type Aand type B sockets, respectively. First USB socket 646 couples splitter634 to peripheral 628, and second USB socket 648 couples splitter 634 tofirst computer 630. Although particular sockets are illustrated anddescribed, the present invention contemplates any suitable sockets. Asan example, in particular embodiments, sockets 646 and 648 need not beUSB sockets, but can be sockets to support any suitable communicationprotocol or standard. In particular embodiments, power is supplied tosplitter 634 from first computer 630. To allow communication betweenperipheral 628 and first computer 630, switch 650 provides a physicalconnection between first and second sockets 646 and 648. To allowcommunication between peripheral 628 and second computer 638, switch 650provides a physical connection between first socket 646 and masteradapter 652. Although splitter 634 is described and illustrated as asingle device, the present invention also contemplates splitter 634including two or more devices that are more or less separate from eachother. As an example and not by way of limtiation, in particularembodiments, a first device may include master adapter 652 and a seconddevice may include USB sockets 646 and 648 and switch 650. A physicalconnection may couple the first device to the second device, and signalcontrol for switch 650 may be communicated between master adapter 652and switch 650 over the physical connection. One or more of theseembodiments may enable a user to add a physical connection 636 to asystem 10, 100, 626, or 664 without adding a master adapter 18, 108, or652 to system 10, 100, 626, or 664. In addition or as an alternative,one or more of these embodiments may enable a user to install one ormore components of a system 10, 100, 626, or 664 without taking down anexisting physical connection between a computer and a peripheral. Inaddition or as an alternative, one or more of these embodiments mayreduce costs associated with manufacturing splitter 634.

Master adapter 652 is similar in function to master adapters 18 and 108,but provides additional functionality. Master adapter 652 includes aprocessor 654, a host controller 656, a USB interface 658, an RFinterface 660, and a memory 662. Host controller 656, USB interface 658,and RF interface 660 are similar in function to host controller 304, USBinterface 308, and RF interface 310, respectively. Processor 654 issimilar in function to processor 302, but provides additionalfunctionality. Although a particular interface is illustrated anddescribed between switch 650 and master adapter 652, the presentinvention contemplates any suitable interface. As an example, inparticular embodiments, USB interface 658 need not be a USB interface.In particular embodiments, processor 654 can detect communication acrosssecond physical connection 636. Processor 654 can also determine whethera request is pending for communication between peripheral 628 and secondcomputer 638. Processor 654 can also instruct switch 650 to provide aphysical connection between first and second USB sockets 646 and 648 orbetween first USB socket 646 and USB interface 658 of master adapter652. By providing a physical connection between first USB socket 646 andUSB interface 658, switch 650 effectively provides a physical connectionbetween first USB socket 646 and RF interface 660.

When switch 650 provides a physical connection between first and secondUSB sockets 646 and 648, peripheral 628 may communicate with firstcomputer 630. As described above, communication between peripheral 628and first computer 630 is wireline in that peripheral 628 does not use awireless connection to communicate with first computer 630. Accordingly,when processor 654 instructs switch 650 to provide a physical connectionbetween first and second USB sockets 646 and 648, processor 654instructs switch 650 to allow wireline communication between peripheral628 and first computer 630. When switch 650 provides a physicalconnection between first USB socket 646 and RF interface 660 via USBinterface 658, peripheral 628 may communicate with second computer 638.As described above, communication between peripheral 628 and secondcomputer 638 is wireless in that peripheral 628 uses wireless connection640 to communicate with second computer 638.

In particular embodiments, processor 654 instructs switch 650 accordingto the status of communication across second physical connection 636 andpending requests for communication between peripheral 628 and secondcomputer 638. As an example, in particular embodiments, if secondphysical connection 636 is inactive and no request is pending forcommunication between peripheral 628 and second computer 638, processor654 instructs switch 650 to provide a physical connection between firstand second USB sockets 646 and 648. This allows communication betweenperipheral 628 and first computer 630. If processor 654 receives arequest for communication between peripheral 628 and second computer 638and second physical connection 636 is inactive, processor 654 instructsswitch 650 to provide a physical connection between first USB socket 646and RF interface 660 via USB interface 658. This allows the requestedcommunication between peripheral 628 and second computer 638. Ifprocessor 654 receives a request for communication between peripheral628 and second computer 638 and second physical connection 636 isactive, processor 654 waits until second physical connection 636 becomesinactive and then instructs switch 650 to provide a physical connectionbetween first USB socket 646 and RF interface 660 via USB interface 658to allow the requested communication. In addition or as an alternative,processor 654 can wait until a timeout occurs, a maximum communicationtime elapses, or a maximum data amount is communicated to instructswitch 650 to provide a physical connection between first USB socket 646and USB interface 658. This allows peripheral 628 to finishcommunication with first computer 630 before peripheral 628 startscommunication with second computer 638.

Although splitter 634 is illustrated and described as allowing wirelinecommunication between peripheral 628 and first computer 630 and allowingwireless communication between peripheral 628 and second computer 638,the present invention also contemplates splitter 634, in particularembodiments, providing wireline communication between peripheral 628 andfirst computer 630 and between peripheral 628 and second computer 638.As an example and not by way of limitation, master adapter 526 may bereplaced by a USB type B or other suitable socket that may be coupled tosecond computer 638 by a physical connection. In particular embodiments,splitter 634 may provide any suitable number of these connections. Thepresent invention also contemplates splitter 634, in particularembodiments, providing wireless communication between peripheral 628 andfirst computer 630 and between peripheral 628 and second computer 638.As an example and not by way of limitation, USB socket 648 may bereplaced by a master adapter that may use a wireless connection tocommunicate with a slave adapter coupled to first computer 628. Inparticular embodiments, splitter 634 may provide any suitable number ofthese connections.

Memory 662 is similar in function to memory 306, but, in particularembodiments, contains additional information. In particular embodiments,memory 662 contains information that processor 654 uses to determinewhat instructions to give switch 650. As an example, in particularembodiments, memory 662 contains information specifying one or moretimeouts, maximum communication times, or maximum communicated dataamounts that processor 654 can use. As described more fully below, inparticular embodiments, splitter 634 allows communication betweenperipheral 628 and multiple second computers 638 via multiple wirelessconnections 640. In some of these embodiments, memory 662 containsinformation that specifies a prioritization among second computers 638.In particular embodiments, each second computer 638 is identified in theprioritization by the BLUETOOTH address of slave adapter 642corresponding to second computer 638. If more than one request ispending for communication between peripheral 628 and a second computer638, processor 654 uses that information to determine which requestedcommunication to allow first, which to allow second, and so on.

FIG. 11 illustrates an example system 664 for providing both wirelineand multiple wireless connections to a wireline interface. System 664 issimilar to system 626, except that system 664 includes multiple secondcomputer systems 638. When switch 650 provides a physical connectionbetween first USB socket 646 and RF interface 660 via USB interface 658,one or more second computers 638 may communicate with peripheral 628. Ifmore than one request is pending for communication between peripheral628 and a second computer 638, processor 654 determines which requestedcommunication to allow first, which to allow second, and so on. Asdescribed above, in particular embodiments, processor 654 usesinformation contained in memory 662 that specifies a prioritizationamong second computers 638. According to one prioritization, each secondcomputer 638 is assigned one or more priority levels. Each prioritylevel includes only one second computer 638. Processor 654 first allowssecond computer 638 of the highest priority level to communicate withperipheral 628; then allows second computer 638 of the next highestpriority level to communicate with peripheral 628; then allows secondcomputer 638 of the next highest priority level to communicate withperipheral 628; and so on, until processor 654 reaches the last prioritylevel. In particular embodiments, if there is no communication requestpending at a priority level, processor 654 immediately proceeds to thenext priority level. If no communication request is pending betweenperipheral 628 and a second computer 638, processor instructs switch 650to provide a physical connection between first USB socket 646 and secondUSB socket 648

FIG. 12 illustrates an example priority table 666 of system 664.Priority table 666 includes first and second columns 668 and 670 andmultiple rows 672. Priority levels are specified in column 668, andBLUETOOTH addresses of slave adapters 642 are specified in column 670.While particular BLUETOOTH addresses may include forty-eight bits,BLUETOOTH addresses that include seven bits are shown for the sake ofillustration. Each row 672 specifies a priority level and acorresponding BLUETOOTH address. As described above, according to oneprioritization, second computers 638 are each assigned one or morepriority levels and identified in priority table 666 by the BLUETOOTHaddress of slave adapter 642 corresponding to second computer 638. Ifmore than one request is pending for communication between peripheral628 and a second computer 638, processor 654 uses table 666 to determinewhich requested communication to allow first, which to allow second, andso on, as described above.

In particular embodiments, processor 654 first accesses row 672 a anduses the BLUETOOTH address specified in row 672 a to identify a secondcomputer 638. If no communication request is pending between peripheral628 and second computer 638, processor 654 accesses row 672 b. If acommunication request is pending between peripheral 628 and secondcomputer 638, processor 654 allows the requested communication. Whenthat communication finishes, a maximum time elapses, a maximum dataamount is communicated, or a timeout occurs, processor 654 accesses row672 c. In particular embodiments, this process continues until afterprocessor 654 has accessed last row 672 n, at which point processor 654returns to row 672 a. In particular embodiments, priority table 666 isbuilt manually. In particular embodiments, priority table 666 is builtautomatically when master adapter 652 establishes wireless connections640. In particular embodiments, priority table 666 can be updatedmanually. In particular embodiments, priority table 666 can beautomatically updated according to a dynamic prioritization.

FIG. 13 illustrates an example method for providing both wireline andwireless connections to a wireline interface. The method starts at step700, where, if a request for communication between peripheral and secondcomputer system is not pending, the method proceeds to step 702. At step702, processor 654 instructs switch 650 to provide a physical connectionbetween first and second USB sockets 646 and 648 (which allowscommunication between peripheral 628 and first computer system 630), andthe method returns to step 700. At step 700, if a request forcommunication between peripheral and second computer system is pending,the method proceeds to step 704. At step 704, if peripheral 628 iscommunicating with first computer system 630, the method proceeds tostep 706. At step 706, processor 654 waits until the communicationbetween peripheral 628 and first computer 630 finishes, at which pointthe method proceeds to step 708.

As described above, processor 654 may, in addition or as an alternative,wait only until a maximum communication time is reached, a maximum dataamount is communicated, or a timeout occurs. As described above, inparticular embodiments, processor 654 may interrupt the communicationbetween peripheral 628 and first computer 630 and, to allow therequested wireless communication between peripheral 628 and secondcomputer 638, instruct switch 650 to provide a physical connectionbetween first USB socket 646 and RF interface 660 of master adapter 652via USB interface 658. At step 704, if peripheral 628 is notcommunicating with first computer system 630, the method proceeds tostep 708. At step 708, to allow the requested wireless communicationbetween peripheral 628 and second computer 638, processor 654 instructsswitch 650 to provide a physical connection between first USB socket 646and RF interface 660 of master adapter 652 via USB interface 658.

At step 710, processor 654 waits until the communication betweenperipheral 628 and second computer 638 finishes. At step 712, processor654 instructs switch 650 to provide a physical connection between firstand second USB sockets 646 and 648, at which point the method ends. Oneor more steps of the method illustrated in FIG. 13 may, in particularembodiments, be just one instance of a loop. Although particular stepsof the method illustrated in FIG. 13 are described and illustrated asoccurring in a particular order, the present invention contemplates anysuitable steps of the method described above occurring in any suitableorder.

FIG. 14 illustrates an example method for automatically establishing awireless connection 26 between a master adapter 18 and one or more slaveadapters 16. The method begins at step 800, where master adapter 18powers up. At step 802, if master adapter 18 is coupled to peripheral14, the method proceeds to step 804. At step 804, master adapter 18enters operational mode and enables communication between peripheral 14and one or more computers 12, at which point the method ends. At step802, if master adapter 18 is not coupled to peripheral 14, the methodproceeds to step 806. At step 806, master adapter 18 scans one or morecommunication channels to detect one or more slave adapters 16. Inparticular embodiments, master adapter 18 scans one or morecommunication channels to detect slave adapters 16 without wirelessconnections 26 to master adapter 18. In particular embodiments, masteradapter 18 scans the one or more communication channels to detect slaveadapters 16 with wireless connections 26 to master adapter 18. Inparticular embodiments, master adapter 18 scans the one or morecommunication channels to detect slave adapters 16 with or withoutwireless connections 26 to master adapter 18.

At step 808, if master adapter 18 detects one or more slave adapters 16,the method proceeds to step 810. At step 810, master adapter 18communicates a connect request to a slave adapter 16. At step 808, ifmaster adapter 18 does not detect one or more slave adapters 16, themethod proceeds to step 824. At step 812, if master adapter 18 receivesan acknowledgement from slave adapter 16, the method proceeds to step814. At step 814, master adapter 18 requests a password from slaveadapter 16. At step 812, if master adapter 18 does not receive anacknowledgement from slave adapter 16, the method proceeds to step 822.At step 816, if master adapter 18 receives a valid password from slaveadapter 16, the method proceeds to step 818. At step 816, if masteradapter 18 does not receive a valid password from slave adapter 16, themethod proceeds to step 822.

At step 818, master adapter 18 communicates a connect success message toslave adapter 16. At step 820, master adapter 18 stores data associatedwith slave adapter 16 in table 30. At step 822, if one or more slaveadapters 16 detected at step 806 remain, the method returns to step 810.In particular embodiments, master adapter 18 at least attempts to pairwith each slave adapter 16 detected at step 806 before switching frominquiry mode to operational mode. At step 822, if no slave adapters 16remain, the method proceeds to step 826. At step 826, master adapter 18notifies a user that master adapter 18 has switched from inquiry mode tooperational mode, at which point the method proceeds to step 804. Inparticular embodiments, as an alternative, master adapter 18 switchesfrom inquiry mode to operational mode without notifying a user. At step824, if one or more wireless connections 26 between master adapter 18and one or more slave adapters 16 have already been established, themethod proceeds to step 826.

At step 824, if at least one wireless connection 26 between masteradapter 18 and at least one slave adapter 16 has not already beenestablished, the method returns to step 806. One or more steps of themethod illustrated in FIG. 14 may, in particular embodiments, be justone instance of a loop. As an example, master adapter 18 master switchfrom operational mode to inquiry mode in response to master adapter 18being uncoupled from peripheral 14, a user resetting master adapter 18or otherwise causing master adapter 18 to switch from operational modeto inquiry mode, or the occurrence of any other suitable event. Althoughparticular steps of the method illustrated in FIG. 14 are described andillustrated as occurring in a particular order, the present inventioncontemplates any suitable steps of the method described above occurringin any suitable order.

FIG. 15 illustrates an example method for automatically establishing awireless connection between a slave adapter 16 and one or more masteradapters 18. The method begins at step 900, where slave adapter 16powers up. At step 902, if slave adapter 16 receives a scan message froma master adapter 18, the method proceeds to step 904. Otherwise, slaveadapter 16 waits until slave adapter 16 receives a scan message from amaster adapter 18. At step 904, in response to the scan message, slaveadapter 16 communicates an identifier of slave adapter 16 to masteradapter 18. At step 906, slave adapter 16 receives a connect requestfrom master adapter 18. At step 908, if a PSM in the connect requestdoes not correspond to a PSM of slave adapter 16, the method proceeds tostep 910. At step 910, slave adapter 16 disregards the connect request,and the method returns to step 902.

At step 908, if a PSM in the connect request corresponds to a PSM ofslave adapter 16, the method proceeds to step 912. At step 912, slaveadapter 16 communicates an acknowledgement to master adapter 18. At step914, slave adapter 16 receives a password request from master adapter18. At step 916, in response to the password request, slave adapter 16communicates a password to master adapter 18. At step 918, if slaveadapter 16 receives a connect success message from master adapter, themethod proceeds to step 920. At step 920, slave adapter 16 notifies auser that a wireless connection 26 has been established between masteradapter 18 and slave adapter 16, at which point the method ends. At step918, if slave adapter 16 does not receive a connect success message frommaster adapter, the method returns to step 902.

One or more steps of the method illustrated in FIG. 15 may, inparticular embodiments, be just one instance of a loop. As an example,slave adapter 16 may receive multiple scan messages, connect requests,and password requests from multiple master adapters 18, as describedabove. In particular embodiments, two or more different wirelessconnections 26 between slave adapter 16 and two or more different masteradapters 18 may be established at two or more different times. Inparticular embodiments, two or more different wireless connections 26between slave adapter 16 and two or more different master adapters 18may be established at more or less the same time. Although particularsteps of the method illustrated in FIG. 15 are described and illustratedas occurring in a particular order, the present invention contemplatesany suitable steps of the method described above occurring in anysuitable order.

Although the present invention has been described with severalembodiments, myriad changes, variations, alterations, transformations,and modifications may be suggested to one skilled in the art, and it isintended that the present invention encompass such changes, variations,alterations, transformations, and modifications as fall within the scopeof the appended claims. The present invention is not intended to belimited, in any way, by any statement in the specification that is notreflected in the claims.

1. A system for automatically establishing a wireless connection betweenadapters, the system comprising: a master adapter coupleable to aperipheral device and operable to: automatically enter an inquiry modein response to the occurrence of a first event, the master adapter beingoperable to automatically establish one or more wireless connectionsbetween the master adapter and one or more slave adapters in the inquirymode, the one or more slave adapters being coupled to one or morecomputer systems; and automatically enter an operational mode inresponse to the occurrence of a second event, the master adapter beingoperable to enable communication between the peripheral device and theone or more computer systems via the one or more wireless connectionsusing a wireless protocol in the operational mode.
 2. The system ofclaim 1, wherein the first event comprises one or more of the following:the master adapter powering up; the master adapter being uncoupled fromthe peripheral device; and the master adapter being reset.
 3. The systemof claim 1, wherein the second event comprises the master adaptersuccessfully establishing the one or more wireless connections.
 4. Thesystem of claim 1, wherein, to automatically establish the one or morewireless connections between the master adapter and the one or moreslave adapters, the master adapter automatically scans one or morewireless communication channels to detect the one or more slaveadapters.
 5. The system of claim 4, wherein: the one or more slaveadapters each have an identifier; and in response to the master adapterautomatically scanning the one or more wireless communication channels,the master adapter receives from each of the one or more slave adaptersthe identifier of the slave adapter.
 6. The system of claim 5, whereinat least one of the identifiers is a BLUETOOTH address.
 7. The system ofclaim 4, wherein, after the master adapter has detected a slave adapter,the master adapter automatically communicates a connect request to thedetected slave adapter.
 8. The system of claim 7, wherein the masteradapter uses a BLUETOOTH address of the detected slave adapter tocommunicate the connect request to the detected slave adapter.
 9. Thesystem of claim 7, wherein the connect request comprises a protocolservice multiplexer (PSM) of the master adapter.
 10. The system of claim7, wherein the master adapter is operable to automatically: receive,from the detected slave adapter, an acknowledgement of the connectrequest; communicate a password request to the detected slave adapter;receive a password from the detected slave adapter; determine whetherthe password is valid; and enable communication between the peripheraldevice and the computer system coupleable to the detected slave adapterin the operational mode only if the password is valid.
 11. The system ofclaim 1, wherein, when a wireless connection between the master adapterand a slave adapter coupled to a computer system is established, themaster adapter: obtains data associated with the slave adapter; andstores the data to enable communication between the peripheral deviceand the computer system coupled to the slave adapter.
 12. The system ofclaim 11, wherein the data comprises one or more of: an identifier ofthe slave adapter; a link key associated with the slave adapter; apersonal identification number (PIN) code associated with the slaveadapter; a power level associated with the slave adapter; and an accesscode associated with the slave adapter.
 13. The system of claim 1,wherein the wireless protocol is a BLUETOOTH protocol.
 14. The system ofclaim 1, wherein one or more universal serial bus (USB) connections areuseable to couple the master adapter to the peripheral device.
 15. Thesystem of claim 1, wherein the peripheral device is one or more of: aprinter; a scanner; a digital camera; a modem; a joystick; a webcam; apersonal digital assistant (PDA); a mouse; a keyboard; and a portreplicator.
 16. The system of claim 1, wherein at least one of the oneor more computer systems is one or more of: a personal digital assistant(PDA); a laptop computer system; and a desktop computer system.
 17. Thesystem of claim 1, wherein, in the operational mode, the master adapterautomatically determines, at predetermined intervals, whether the masteradapter is coupled to the peripheral device.
 18. The system of claim 1,wherein the master adapter is further operable to automatically indicateto a user that the master adapter has switched from the inquiry mode tothe operational mode.
 19. A system for automatically establishing awireless connection between adapters, the system comprising: a slaveadapter coupled to a computer system, the slave adapter being operableto automatically: receive a message from a master adapter that iscoupleable to a peripheral device; respond to the message to establish awireless connection between the master adapter and the slave adapter;and after the wireless connection has been established, enablecommunication between the computer system and the peripheral device viathe wireless link using a wireless protocol.
 20. The system of claim 19,wherein: the message from the master adapter is a scan message; and inresponse to the scan message, the slave adapter communicates anidentifier of the slave adapter to the master adapter.
 21. The system ofclaim 20, wherein the identifier of the slave adapter is a BLUETOOTHaddress.
 22. The system of claim 20, wherein the slave adapter isoperable to: receive a connect request from the master adapter inresponse to the slave adapter communicating the identifier of the slaveadapter to the master adapter, the connect request comprising a protocolservice multiplexer (PSM) of the master adapter; determine whether thePSM of the master adapter corresponds to a PSM of the slave adapter; andif the PSM of the master adapter corresponds to the PSM of the slaveadapter, communicate an acknowledgement to the master adapter toestablish a wireless connection between the master adapter and the slaveadapter.
 23. The system of claim 22, wherein the slave adapter isoperable to: receive a password request from the master adapter inresponse to the slave adapter communicating the acknowledgement to themaster adapter; and communicate a password to the master adapter. 24.The system of claim 19, wherein, when the wireless connection betweenthe master adapter and the slave adapter is established, the slaveadapter communicates data associated with the slave adapter to themaster adapter that enables communication between the computer systemand the peripheral device via the wireless link.
 25. The system of claim24, wherein the data comprises one or more of: an identifier of theslave adapter; a link key associated with the slave adapter; a personalidentification number (PIN) code associated with the slave adapter; apower level associated with the slave adapter; and an access codeassociated with the slave adapter.
 26. The system of claim 19, whereinthe wireless protocol is a BLUETOOTH protocol.
 27. The system of claim19, wherein one or more universal serial bus (USB) connections are usedto couple the slave adapter to the computer system.
 28. The system ofclaim 19, wherein the peripheral device is one or more of: a printer; ascanner; a digital camera; a modem; a joystick; a webcam; a personaldigital assistant (PDA); a mouse; a keyboard; and a port replicator. 29.The system of claim 19, wherein the computer system is one or more of: apersonal digital assistant (PDA); a laptop computer system; and adesktop computer system.
 30. A method for automatically establishing awireless connection between adapters, the method comprising:automatically entering an inquiry mode in response to the occurrence ofa first event; in the inquiry mode, automatically establishing one ormore wireless connections between a master adapter coupleable to aperipheral device and one or more slave adapters coupled to one or morecomputer systems; automatically entering an operational mode in responseto the occurrence of a second event; and in the operational mode,enabling communication between the peripheral device and the one or morecomputer systems via the one or more wireless connections using awireless protocol in the operational mode.
 31. The method of claim 30,wherein the first event comprises one or more of the following: themaster adapter powering up; the master adapter being uncoupled from theperipheral device; and the master adapter being reset.
 32. The method ofclaim 30, wherein the second event comprises the one or more wirelessconnections being successfully established.
 33. The method of claim 30,comprising automatically scanning one or more wireless communicationchannels to detect the one or more slave adapters.
 34. The method ofclaim 33, comprising receiving from each of the one or more slaveadapters a identifier of the slave adapter in response to the one ormore wireless communication channels being scanned.
 35. The method ofclaim 34, wherein at least one of the identifiers is a BLUETOOTHaddress.
 36. The method of claim 33, comprising, after a slave adapterhas been detected, automatically communicating a connect request to thedetected slave adapter.
 37. The method of claim 36, wherein a BLUETOOTHaddress of the detected slave adapter is used to communicate the connectrequest to the detected slave adapter.
 38. The method of claim 36,wherein the connect request comprises a protocol service multiplexer(PSM) of the master adapter.
 39. The method of claim 36, comprising:receiving, from the detected slave adapter, an acknowledgement of theconnect request: communicating a password request to the detected slaveadapter; receiving a password from the detected slave adapter;determining whether the password is valid; and enabling communicationbetween the peripheral device and the computer system coupleable to thedetected slave adapter in the operational mode only if the password isvalid.
 40. The method of claim 30, comprising: when the wirelessconnection between the master adapter an a slave adapter is established,obtaining data associated with the slave adapter; and storing the datato enable communication between the peripheral device and the computersystem coupled to the slave adapter.
 41. The method of claim 40, whereinthe data comprises one or more of: an identifier of the slave adapter; alink key associated with the slave adapter; a personal identificationnumber (PIN) code associated with the slave adapter; a power levelassociated with the slave adapter; and an access code associated withthe slave adapter.
 42. The method of claim 30, wherein the wirelessprotocol is a BLUETOOTH protocol.
 43. The method of claim 30, whereinone or more universal serial bus (USB) connections are useable to couplethe master adapter to the peripheral device.
 44. The method of claim 30,wherein the peripheral device is one or more of: a printer; a scanner; adigital camera; a modem; a joystick; a webcam; a personal digitalassistant (PDA); a mouse; a keyboard; and a port replicator.
 45. Themethod of claim 30, wherein at least one of the one or more computersystems is one or more of: a personal digital assistant (PDA); a laptopcomputer system; and a desktop computer system.
 46. The method of claim30, further comprising, in the operational mode, automaticallydetermining, at predetermined intervals, whether the master adapter iscoupled to the peripheral device.
 47. The method of claim 30, furthercomprising automatically indicating to a user when the operational modeis entered.
 48. A method for automatically establishing a wirelessconnection between adapters, the method comprising: automaticallyreceiving a message from a master adapter that is coupleable to aperipheral device; automatically responding to the message to establisha wireless connection between the master adapter and a slave adapterthat is coupled to a computer system; and after the wireless connectionhas been established, enabling communication between the computer systemand the peripheral device via the wireless link using a wirelessprotocol.
 49. The method of claim 48, wherein: the message from themaster adapter is a scan message; and the method comprises, in responseto the scan message, communicating an identifier of the slave adapter tothe master adapter.
 50. The method of claim 49, wherein the identifierof the slave adapter is a BLUETOOTH address.
 51. The method of claim 49,comprising: receiving a connect request from the master adapter inresponse to the identifier of the slave adapter being communicated, theconnect request comprising a protocol service multiplexer (PSM) of themaster adapter; determining whether the PSM of the master adaptercorresponds to a PSM of the slave adapter; and if the PSM of the masteradapter corresponds to the PSM of the slave adapter, communicating anacknowledgement to the master adapter to establish a wireless connectionbetween the master adapter and the slave adapter.
 52. The method ofclaim 51, comprising: receives a password request from the masteradapter in response to the acknowledgement being communicated; andcommunicating a password to the master adapter.
 53. The method of claim48, comprising, when the wireless connection between the master adapterand the slave adapter is established, communicating data associated withthe slave adapter to the master adapter that enables communicationbetween the computer system and the peripheral device via the wirelesslink.
 54. The method of claim 53, wherein the data comprises one or moreof: an identifier of the slave adapter; a link key associated with theslave adapter; a personal identification number (PIN) code associatedwith the slave adapter; a power level associated with the slave adapter;and an access code associated with the slave adapter.
 55. The method ofclaim 48, wherein the wireless protocol is a BLUETOOTH protocol.
 56. Themethod of claim 48, wherein one or more universal serial bus (USB)connections are used to couple the slave adapter to the computer system.57. The method of claim 48, wherein the peripheral device is one or moreof: a printer; a scanner; a digital camera; a modem; a joystick; awebcam; a personal digital assistant (PDA); a mouse; a keyboard; and aport replicator.
 58. The method of claim 48, wherein the computer systemis one or more of: a personal digital assistant (PDA); a laptop computersystem; and a desktop computer system.
 59. A system for automaticallyestablishing a wireless connection between adapters, the systemcomprising: means for automatically entering an inquiry mode in responseto the occurrence of a first event; means for, in the inquiry mode,automatically establishing one or more wireless connections between amaster adapter coupleable to a peripheral device and one or more slaveadapters coupled to one or more computer systems; means forautomatically entering an operational mode in response to the occurrenceof a second event; and means for, in the operational mode, enablingcommunication between the peripheral device and the one or more computersystems via the one or more wireless connections using a wirelessprotocol in the operational mode.